package com.ecommerce.dal.dao;

import java.util.List;

import com.ecommerce.dal.entity.Client;
import com.ecommerce.dal.entity.Company;
import com.ecommerce.dal.entity.Rank;

public interface IClientDAO {
	
	void save(Client client);
	void update(Client client);
	void delete(Client client);
	Client findByClientId(long clientId);
	Client findByClientName(String clientName);
	List<Client> findAllClients();
	Company findClientCompanyById(long clientId);
	int findClientStateById(long clientId);
	int findClientStateByUserName(String clientUserName);
	Rank findClientRankById(long clientId);
	Rank findClientRankByUserName(String clientUserName);
	
	Client findByMembershipCard(long membershipcardId);
	//to be removed
	boolean checkIfCustomer(long clientId);
	//to be removed
	boolean checkClientId(long clientId);
	
	List<Client> findSponsorClients();
	
	List<Client> findVerifiedClients();
	List<Client> findNonVerifiedClients();
	
	boolean isVerified(long clientId);
}
